Allocation de registres

Dans un compilateur, l'allocation de registres est une étape importante de la génération de code. Elle vise à choisir judicieusement dans quel registre du processeur seront enregistrées les variables durant l'exécution du programme que l'on compile.

Les registres sont des mémoires internes au processeur, généralement capables de contenir un mot machine. Les opérations sur des valeurs rangées dans des registres sont plus rapides que celles sur des valeurs en mémoire vive, quand ce ne sont pas les seules possibles. Mais un processeur compte rarement plus de quelques dizaines de registres, bien trop peu pour toutes les variables d'un programme. Il est donc crucial de choisir avec pertinence les variables qui doivent résider dans les registres à chaque étape de l'exécution. Cela étant difficile dans les premières étapes de la compilation, on commence par faire comme si l'on disposait d'un nombre illimité de registres, puis l'on attribue à ces registres virtuels des registres réels ou des emplacements en mémoire.


© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search